<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>PKCS7 标志/常量</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="openssl.key-types.html">« 密钥类型</a></li>
      <li style="float: right;"><a href="openssl.signature-algos.html">Signature Algorithms »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="openssl.constants.html">预定义常量</a></li>
    <li>PKCS7 标志/常量</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="openssl.pkcs7.flags" class="section">
   <h2 class="title"><abbr>PKCS7</abbr> 标志/常量</h2>
   <p class="para">
    S/MIME 函数使用通过一个位阈来表示的标志位，该位阈可包含如下一个或多个值:
    <table class="doctable table">
     <caption><strong><abbr>PKCS7</abbr> 常量</strong></caption>
      
       <thead>
        <tr>
         <th>常量名</th>
         <th>描述</th>
        </tr>

       </thead>

       <tbody class="tbody">
        <tr id="constant.pkcs7-text">
         <td><strong><code>PKCS7_TEXT</code></strong></td>
         <td>把纯文本类型的header头添加到加密/签名的消息中。如果解密或者验证，将会从输出中剥离这些header头 - 如果这些被解密或验证的消息不是 MIME 类型的纯文本文件将会导致一个错误。</td>
        </tr>

        <tr id="constant.pkcs7-binary">
         <td><strong><code>PKCS7_BINARY</code></strong></td>
         <td>通常输入消息将被转成以<code class="literal">CR</code>和<code class="literal">LF</code>作行末的 &quot;canonical&quot; 格式(S/MIME规范中的声明)。当该选项出现时，消息将不会被转化。 当处理非MIME格式的二进制数据时，这个选项会很有用。</td>
        </tr>

        <tr id="constant.pkcs7-nointern">
         <td><strong><code>PKCS7_NOINTERN</code></strong></td>
         <td>在验证消息时，在消息中包含的证书(如果有的话)通常会被搜索签名证书。 对于该选项，只有当 <span class="function"><a href="function.openssl-pkcs7-verify.html" class="function">openssl_pkcs7_verify()</a></span> 函数的参数<code class="parameter">extracerts</code>指定了的证书才会被使用。然而提供的证书仍然被当做不受信任的证书使用。</td>
        </tr>

        <tr id="constant.pkcs7-noverify">
         <td><strong><code>PKCS7_NOVERIFY</code></strong></td>
         <td>不要验证签名消息的签名者证书。</td>
        </tr>

        <tr id="constant.pkcs7-nochain">
         <td><strong><code>PKCS7_NOCHAIN</code></strong></td>
         <td>不要约束验证签名者证书：不要把签名消息中的证书当做不受信任的证书。</td>
        </tr>

        <tr id="constant.pkcs7-nocerts">
         <td><strong><code>PKCS7_NOCERTS</code></strong></td>
         <td>在签署消息时，签名者的证书通常包括在内，但是有了这个选项后，就不需要包括证书了。这将会缩小被签名消息的大小，但是验证人在本地必须有可用的签名者证书副本(比如由<span class="function"><a href="function.openssl-pkcs7-verify.html" class="function">openssl_pkcs7_verify()</a></span>函数中的<code class="parameter">extracerts</code>参数传递) 。
         </td>
        </tr>

        <tr id="constant.pkcs7-noattr">
         <td><strong><code>PKCS7_NOATTR</code></strong></td>
         <td>通常当消息被签名了，一些属性的集合将会包含在内，比如签名时间和支持的对称算法。使用该选项用来设置不包含这些属性。
         </td>
        </tr>

        <tr id="constant.pkcs7-detached">
         <td><strong><code>PKCS7_DETACHED</code></strong></td>
         <td>当签名消息时，使用 MIME 类型(<code class="literal">&quot;multipart/signed&quot;</code>)的明文签名。如果你为<span class="function"><a href="function.openssl-pkcs7-sign.html" class="function">openssl_pkcs7_sign()</a></span>函数没有指定任何<code class="parameter">flags</code>，这个将会是默认的值。
          如果你关闭这个选项，消息将使用不透明的签名来签名, 这将会使消息更能抵抗邮件中继的翻译，但是不支持 S/MIME 的邮件客户端将不能读取该消息。</td>
        </tr>

        <tr id="constant.pkcs7-nosigs">
         <td><strong><code>PKCS7_NOSIGS</code></strong></td>
         <td>不要尝试在消息中验证签名</td>
        </tr>

       </tbody>
      
     </table>

   </p>
   <blockquote class="note"><p><strong class="note">注意</strong>: 
     <p class="para">这些常量在 4.0.6 版本中被添加。</p>
   </p></blockquote>
  </div></div></div></body></html>